﻿/**
* @projectName   cvvision
* @file          IPluginParam.h
* @brief         插件结果输出接口类
* @author        GuoFeng
* @contact        805305774@qq.com/feng.guo@micro-i.com.cn
* @date          2022-01-07
*/

#ifndef __I_PLUGIN_RESULT_OUTPUT_H__
#define __I_PLUGIN_RESULT_OUTPUT_H__

#include <QObject>
#include <QImage>
#include "Interface_Global.h"

namespace CVV
{

namespace Interface
{

class INTERFACE_EXPORT IPluginParam : public QObject
{
    Q_OBJECT

    Q_PROPERTY(QImage FirstImage READ getFirstImage WRITE setFirstImage)
    Q_PROPERTY(QImage SecondImage READ getSecondImage WRITE setSecondImage)

public:
    explicit IPluginParam(QObject *parent = nullptr);
    virtual ~IPluginParam() = 0;

    Q_INVOKABLE void setFirstImage(const QImage &image);
    Q_INVOKABLE QImage getFirstImage() const;

    Q_INVOKABLE void setSecondImage(const QImage &image);
    Q_INVOKABLE QImage getSecondImage() const;


private:
    QImage m_firstImage;
    QImage m_secondImage;

};

}

}

#endif //
